package com.example.w.common.util;

import com.example.w.common.exception.SystemException;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

//处理支付接口调用

public class PaymentHandler {
    /**
     * 处理支付接口调用，返回支付信息
     * @param amount 支付金额
     * @param paymentType 选择的支付方式
     * @return 一个Map<String, Object>数据集，关键字有：time(支付时间), serialNumber(支付流水号), amount(支付金额), status(支付状态)
     */
    public Map<String, Object> payForOrder(BigDecimal amount, int paymentType, Long orderId) {
        switch (paymentType) {
            case 0 :break;//现金支付接口
            case 1 :break;//微信支付接口
            case 2 :break;//支付宝支付接口
            case 3 :break;//银行卡支付接口
            default:throw new SystemException("支付失败，选择的支付方式不存在");
        }
        Map<String, Object> payResult = new HashMap<>();
        payResult.put("time", new Date());
        if (paymentType == 0) {
            payResult.put("serialNumber", null);
        }else {
            payResult.put("serialNumber", "123321");
        }
        payResult.put("amount", amount);
        payResult.put("status", true);
        return payResult;
    }
}
